1. Field of the Invention.
The present invention relates generally to methods for accessing information stored in a database management system (DBMS), and in particular, an agent for providing replicated data from the database management system to a remote user.
2. Description of the Related Art.
Large-scale integrated database management systems provide an efficient, consistent, and secure means for storing and retrieving vast amounts of data. This ability to store, retrieve, and manage massive amounts of information has become a virtual necessity in business today.
Usually, the process of obtaining information from the DBMS is highly interactive, requiring short periods of high bandwidth, low-latency communications between the end user and the DBMS, followed by extended periods with little or no communications traffic. Because local area network (LAN) wide area network (WAN) communications are high bandwidth and low cost, the user is typically provided access to the database via a desktop computer coupled directly by a (LAN) or a laptop computer coupled to the LAN via the Public Switched Telephone Network (PSTN). This arrangement is the well known client-server architecture.
Businesses using integrated database management systems (DBMSS) have become increasingly mobile and service-oriented, raising the need for timely and inexpensive mobile access to database information. Mobile users also frequently require access to information which is stored in different DMBSs. Mobile communications are available through cellular telephone, paging and other radio networks, but using these communication links for providing access to DBMSs is problematic. Cellular telephone communications offer low bandwidth, and are quite expensive, and often unreliable. Remote paging networks provide fairly inexpensive reliable communications, but at the cost of low-bandwidth and high data latency.
One of the many capabilities offered by database management systems is a data replication function. This allows the user to retrieve updated data information pertinent to previous database requests as the data becomes available in the DBMS. In current systems, the data replication function is implemented as follows: the client sends a request to the DBMS via a replication server and waits for a response. Then, the DBMS computes all essential data (using changed data, logs, and relational joins) required to allow the client to update the resident table. This process is repeated for each table that the client subscribes to. During the above operations, the communications link between the client and the replication server is continually maintained. Since several join and other time-consuming database operations are required, it is not economical to maintain mobile communications links while the DBMS performs the indicated operations. Further, the process must be repeated for each client subscribed table, requiring frequent information exchange between the client and the replication server. The communications link must also be configured to support different protocols in order for the client to access the base table in different platforms, and it is difficult and expensive to optimize the mobile communications link for different protocols. There is therefore a need for clients to interact with a replication server in an asynchronous, disconnected mode.